package com.bjpowernode.javaWeb.servlet;

import jakarta.servlet.*;

import java.io.IOException;

/**
 * 编写一个标准通用的Servlet，起名叫：GenericServlet
 * 以后所有的Servlet类都不需要直接实现Servlet接口了
 * 以后所有的Servlet类都要继承GenericServlet类
 * GenericServlet 是一个适配器
 */
public abstract class GenericServlet implements Servlet {
    //成员变量
    private ServletConfig config=null;

    @Override
    public final void init(ServletConfig config) throws ServletException {
        this.config=config;
        this.init();
    }

    //这个init方法供子类重写
    public void init(){

    }

    @Override
    public ServletConfig getServletConfig() {
        return this.config;
    }


    /**
     * 抽象方法，这个方法最常用，所以要求子类都要实现service方法
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public abstract void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException ;

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}
